import { DataItemProvider } from '../provider/data-item-provider';
import { ListDataProvider } from '../provider/list-data-provider';

/**
 * 快捷操作栏支持的模式
 *
 * @author chitanda
 * @date 2022-06-28 13:06:29
 * @export
 * @interface QuickActionModeOption
 */
export interface QuickActionModeOption {
  /**
   * 说明标题
   *
   * @author chitanda
   * @date 2022-06-30 10:06:08
   * @type {string}
   */
  title: string;
  /**
   * 悬浮提示
   *
   * @author chitanda
   * @date 2022-06-30 10:06:25
   * @type {string}
   */
  tooltip?: string;
  /**
   * 描述
   *
   * @author chitanda
   * @date 2022-06-30 10:06:22
   * @type {string}
   */
  description?: string;
  /**
   * 行内图标，只支持 svg
   *
   * @author chitanda
   * @date 2022-06-30 10:06:41
   * @type {string}
   */
  icon?: string;
  /**
   * 模式类型
   *
   * @author chitanda
   * @date 2022-06-28 13:06:52
   * @type {string}
   */
  type: string;
  /**
   * 模式标签, 用于在 input 输入时作为类别标识。例如: >、<、=、~ 等可以作为模式标签
   * 与 keyboards 组合使用
   *
   * @description 空字符串为默认模式标签
   * @author chitanda
   * @date 2022-06-28 14:06:00
   * @type {string}
   */
  tag?: string;
  /**
   * 打开快捷键
   *
   * @description command 有值时，此配置不生效
   * @author chitanda
   * @date 2022-06-28 13:06:11
   * @type {string | string[]}
   */
  keyboards?: string | string[];
  /**
   * 数据适配器
   *
   * @author chitanda
   * @date 2022-06-28 18:06:08
   * @type {ListDataProvider<DataItemProvider>}
   */
  provider?: ListDataProvider<DataItemProvider>;
  /**
   * 当此项指定时，模式默认单机行数据直接触发指令。不会触发快捷键打开独立快捷操作栏，并使用数据适配器
   *
   * @description 直接触发指令，无参数
   * @author chitanda
   * @date 2022-06-30 16:06:20
   * @type {string}
   */
  command?: string;
  /**
   * 与 command 同时生效，作为执行行为时触发的参数
   *
   * @author chitanda
   * @date 2022-07-06 14:07:15
   * @type {unknown[]}
   */
  args?: unknown[];
}
